// 抽象类;包含抽象方法（抽象方法一般没有任何的具体内容的实现），也可以包含实例方法，抽象类是不能被实例化的，为了让子类进行实例化及实现内部的抽象方法
(() => {
  abstract class Animal {
    abstract name: string;
    abstract eat();
    sayHi() {
      console.log("asd");
    }
  }
  class Dog extends Animal {
    name: string = "销户";
    eat() {
      console.log("舔着吃");
    }
  }

  const dog = new Dog();
  dog.eat();
  dog.sayHi();
})();
